package com.tbit.main.dao.core;

import com.tbit.main.pojo.AccountConfigExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author LMY
 * @create 2021-12-29 15:29
 */
public interface AccountConfigExtDao {

    List<AccountConfigExt> getAll();

    /**
     * 查询配置参数区域
     *
     * @param paramKey
     * @return
     */
    AccountConfigExt getParamKey(Integer accountId, String paramKey);


    /**
     * 更新
     */
    void update(@Param("accountId") Integer accountId, @Param("paramKey") String paramKey, @Param("paramValue") String paramValue);

    void insert(@Param("accountId") Integer accountId, @Param("paramKey") String paramKey, @Param("paramValue") String paramValue, @Param("updateTime") String updateTime, @Param("remark") String remark);

    /**
     * @description: 查询 头盔锁配置拓展字段
     * @author: mo.shanyong
     * @date: 2025/4/10 20:19
     * @param: accountId 区域Id
     * @param: paramKeyList 区域Id
     * @return: java.util.List<com.tbit.main.pojo.AccountConfigExt>
     */
    List<AccountConfigExt> getByParamKeys(@Param("accountId") Integer accountId, @Param("paramKeyList") List<String> paramKeyList);

    /**
     * 查询区域下所有的拓展配置key
     *
     * @param accountId
     * @return
     */
    List<String> getKeysByAccountId(Integer accountId);

    /**
     * 修改区域参数扩展配置
     *
     * @param accountConfigExt 区域参数扩展配置
     * @return 结果
     */
    int updateAccountConfigExt(AccountConfigExt accountConfigExt);

    /**
     * 批量新增
     *
     * @param accountConfigExts
     */
    void addBatch(@Param("accountConfigExts") List<AccountConfigExt> accountConfigExts);
}
